Ad-hoc wireless communication system with variable ATIM window

ABSTRACT

A local station includes a memory and a control module. The memory stores a first status indicator that represents a number of active conversations in a wireless network and an ad-hoc traffic indication map (ATIM) window. The control module detects a change in the number of active conversations, modifies the first status indicator to generate an updated first status indicator based on the change, and adjusts a length of the ATIM window based on the updated first status indicator.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/947,765, filed on Jul. 3, 2007. The disclosure of the aboveapplication is incorporated herein by reference in its entirety.

FIELD

The present disclosure relates to wireless networks, and moreparticularly to wireless networks operating in an ad-hoc mode.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent the work is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

IEEE section 802.11, which is hereby incorporated by reference in itsentirety, defines several different standards for configuring wirelessEthernet networks and devices. For example, 802.11 standards that havebeen popularized include 802.11, 802.11(a), 802.11(b), and 802.11(g).According to these standards, wireless network devices may be operatedin either an infrastructure mode or an ad-hoc mode. In theinfrastructure mode, the wireless network devices communicate with eachother through an access point. In the ad-hoc mode, the wireless networkdevices (which are typically called stations or nodes) communicatedirectly with each other and do not employ an access point.

Referring now to FIG. 1, a wireless network 12 is shown that operates inan ad-hoc mode. The wireless network 12 includes multiple stations 14-1,14-2, and 14-3 that transmit and receive wireless signals 16 directlywith each other to form an ad-hoc network.

Power consumption of the stations is minimized to preserve battery life.To conserve power some stations implement a low-power mode in additionto an active mode. During the active mode, the stations transmit and/orreceive data. During the low power mode, the stations may shut downcomponents and/or alter operations. For example, stations may nottransmit or receive data during the low-power mode. In wirelessnetworks, stations typically are unable to remain in the low-power modefor a period of time that is sufficient to significantly reduce averagepower consumption.

In an ad-hoc network, a beacon is generated each beacon interval by oneof the stations in that network. Each beacon interval has an associatedannouncement traffic indication map (ATIM) window and data transmissionwindow. Each station remains awake after each beacon for at least theduration of the ATIM window.

An ATIM frame is transmitted during the ATIM window to indicate that astation has buffered packets for another station. Multiple stations maytransmit ATIM frames during the ATIM window. In addition, there may bemulticast ATIM messages that need to be sent during the ATIM window.When a station receives an ATIM frame during the ATIM window, thestation remains awake for the entire beacon interval.

The length of the ATIM window is set at the time a wireless network iscreated by an ad-hoc creator. The ad-hoc creator may refer to a user oralternatively may refer to a station that is first to enter and/orcreate the network. The ATIM window may be sub-optimal. In other words,the ATIM window may be too long or too short depending upon a number ofcurrently active conversations between stations. An active conversationrefers to a communication session between two or more stations.

An ATIM window that is too long leads to a shorter effective dataexchange window, which in turn leads to lower data throughput for agiven beacon interval. An ATIM window that is too long also results insub-optimal power savings since the amount of time the stations are inan awake state increases.

An ATIM window that is too short leads to longer latencies and/or packetloss. An ATIM frame is transmitted for each active conversation. EachATIM frame is associated with a different active conversation and has acorresponding transmission and acknowledgement period. The transmissionand acknowledgement periods may not overlap in time. Thus, one or moreATIM frames and/or corresponding acknowledgements may not be transmittedduring an ATIM window when an increased number of ATIM frames are to betransmitted. The ATIM frames and acknowledgements that do not gettransmitted in a first ATIM window or beacon interval are delayed andtransmitted along with their corresponding data packets duringsubsequent beacon intervals. This can result in a backlog of ATIM framesand/or data packets.

SUMMARY

In one embodiment, a local station is provided and includes a memory anda control module. The memory stores a first status indicator thatrepresents a number of active conversations in a wireless network and anad-hoc traffic indication map (ATIM) window. The control module detectsa change in the number of active conversations, modifies the firststatus indicator to generate an updated first status indicator based onthe change, and adjusts a length of the ATIM window based on the updatedfirst status indicator.

In other features, the memory stores a second status indicator thatrepresents a number of stations in the wireless network that are in anactive mode. The control module adjusts the length of the ATIM windowbased on the second status indicator.

In still other features, the active conversations are local. The memorystores a second status indicator that represents a number of remoteactive conversations of other stations in the wireless network. Thecontrol module adjusts the length of the ATIM window based on the secondstatus indicator. In other features, the number of active conversationsis a total number of local active conversations in the wireless network.In other features, the number of active conversations is a total numberof active conversations in the wireless network.

In yet other features, the local station further includes a transceiverthat receives a second status indicator from a remote station thatrepresents another number of active conversations in the wirelessnetwork. The control module adjusts the length of the ATIM window basedon the second status indicator.

In other features, the control module transmits a probe request via thetransceiver to the remote station. The remote station transmits thesecond status indicator based on the probe request. In other features,the control module determines the length of the ATIM window based on adistributed coordination function interframe space period. In otherfeatures, the control module determines the length of the ATIM windowbased on a backoff period.

In other features, the control module determines the length of the ATIMwindow based on one of a duration of an ATIM frame, a short interframespace period, and an acknowledgement period. In other features, thecontrol module determines the length of the ATIM window iterativelybased on a beacon interval.

In still other features, the local station further includes atransceiver. The control module transmits one of the first statusindicator and the length of the ATIM window to another station in thewireless network. In other features, the local station further includesa transceiver. The control module transmits via the transceiver a beaconthat includes one of the first status indicator and the length of theATIM window.

In further features, the local station further includes a transceiver.The control module transmits an ATIM frame based on the length of theATIM window. In other features, the control module determines a backoffperiod based on the change in the number of active conversations. Thecontrol module transmits an ATIM frame based on the backoff period.

In yet other features, the control module alters a maximum for thebackoff period based on the change in the number of activeconversations. The control module determines the backoff period based onthe random number maximum. In other features, the control modulemaintains a list of active conversation in the wireless network. Thecontrol module adjusts the length based on the list.

In other features, the local station further includes a transceiver. Thecontrol module monitors conversations in the wireless network via thetransceiver. The control module detects the change in the number ofactive conversation based on one of beacons and probe responses in thewireless network. In other features, one of the beacons and the proberesponses has the same corresponding service set identifier.

In other features, a wireless network is provided and includes the localstation and further includes a remote station. The local stationtransmits one of the first status indicator and the length to the remotestation. In other features, the remote station updates another ATIMwindow based on one of the first status indicator and the length.

In still other features, a wireless network is provided and includes thelocal station and further includes a remote station. The local stationreceives a second status indicator from the remote station thatrepresents another number of active conversations in the wirelessnetwork. The control module adjusts the length based on the secondstatus indicator.

In other features, a wireless network is provided and includes the localstation and further includes a remote station. The local station and theremote station maintain lists of active conversations in the wirelessnetwork. The local station and the remote station adjust respective ATIMwindows based on the lists.

In further features, a wireless network is provided and includes thelocal station and further includes a remote station. The local stationand the remote station update respective ATIM windows based on activeconversations in the wireless network. In other features, the localstation and the remote station transmit ATIM frames based on therespective ATIM windows and a received beacon. In other features, thelocal station and the remote station transmit data based on the ATIMframes and a beacon interval.

In yet other features, a method of operating a local station isprovided. The method includes storing a first status indicator thatrepresents a number of active conversations in a wireless network and anad-hoc traffic indication map (ATIM) window. A change in the number ofactive conversations is detected. The first status indicator is modifiedto generate an updated first status indicator based on the change. Alength of the ATIM window is adjusted based on the updated first statusindicator.

In other features, the method further includes storing a second statusindicator that represents a number of stations in the wireless networkthat are in an active mode. The length of the ATIM window is adjustedbased on the second status indicator.

In still other features, the method further includes storing a secondstatus indicator that represents a number of remote active conversationsof other stations in the wireless network. The length of the ATIM windowis adjusted based on the second status indicator. The activeconversations are local.

In other features, the number of active conversations is a total numberof local active conversations in the wireless network. In otherfeatures, the number of active conversations is a total number of activeconversations in the wireless network.

In other features, the method further includes receiving a second statusindicator from a remote station that represents another number of activeconversations in the wireless network. The length of the ATIM window isadjusted based on the second status indicator.

In further features, the method further includes transmitting a proberequest via a transceiver to the remote station. The second statusindicator is transmitted based on the probe request.

In yet other features, the method further includes determining thelength of the ATIM window based on a distributed coordination functioninterframe space period. In other features, the method further includesdetermining the length of the ATIM window based on a backoff period.

In other features, the method further includes determining the length ofthe ATIM window based on one of a duration of an ATIM frame, a shortinterframe space period, and an acknowledgement period. In otherfeatures, the method further includes determining the length of the ATIMwindow iteratively based on a beacon interval.

In other features, the method further includes transmitting one of thefirst status indicator and the length of the ATIM window to anotherstation in the wireless network. In other features, the method furtherincludes transmitting via a transceiver a beacon that includes one ofthe first status indicator and the length of the ATIM window. In otherfeatures, the method further includes transmitting an ATIM frame basedon the length of the ATIM window.

In still other features, the method further includes determining abackoff period based on the change in the number of activeconversations. For example, when there is a change in activeconversations, the beacon window contention can be reduced to increasethe possibility of transmitting a beacon, e.g., at pre-target beacontransmission time (TBTT). An ATIM frame is transmitted based on thebackoff period.

In other features, the method further includes altering a maximum forthe backoff period based on the change in the number of activeconversations. The backoff period is determined based on the randomnumber maximum. In other features, the method further includesmaintaining a list of active conversation in the wireless network. Thelength is adjusted based on the list.

In other features, the method further includes monitoring conversationsin the wireless network via a transceiver. The change is detected in thenumber of active conversation based on one of beacons and proberesponses in the wireless network.

In further features, one of the beacons and the probe responses has thesame corresponding service set identifier. In other features, the methodfurther includes transmitting one of the first status indicator and thelength to a remote station. In other features, the remote stationupdates another ATIM window based on one of the first status indicatorand the length.

In yet other features, the method further includes receiving a secondstatus indicator from a remote station that represents another number ofactive conversations in the wireless network. The length is adjustedbased on the second status indicator.

In other features, the method further includes maintaining lists ofactive conversations in the wireless network. Respective ATIM windowsare adjusted based on the lists. In other features, the method furtherincludes updating respective ATIM windows based on active conversationsin the wireless network.

In still other features, the method further includes transmitting ATIMframes based on the respective ATIM windows and a received beacon. Inother features, the method further includes transmitting data based onthe ATIM frames and a beacon interval.

In other features, a local station is provided and includes storingmeans for storing a first status indicator that represents a number ofactive conversations in a wireless network and an ad-hoc trafficindication map (ATIM) window. Control means detects a change in thenumber of active conversations, modifies the first status indicator togenerate an updated first status indicator based on the change, andadjusts a length of the ATIM window based on the updated first statusindicator.

In other features, the storing means stores a second status indicatorthat represents a number of stations in the wireless network that are inan active mode. The control means adjusts the length of the ATIM windowbased on the second status indicator.

In further features, the active conversations are local. The storingmeans stores a second status indicator that represents a number ofremote active conversations of other stations in the wireless network.The control means adjusts the length of the ATIM window based on thesecond status indicator.

In other features, the number of active conversations is a total numberof local active conversations in the wireless network. In otherfeatures, the number of active conversations is a total number of activeconversations in the wireless network.

In still other features, the local station further includes transceivingmeans for receiving a second status indicator from a remote station thatrepresents another number of active conversations in the wirelessnetwork. The control means adjusts the length of the ATIM window basedon the second status indicator.

In yet other features, the control means transmits a probe request viathe transceiving means to the remote station. The remote stationtransmits the second status indicator based on the probe request. Inother features, the control means determines the length of the ATIMwindow based on a distributed coordination function interframe spaceperiod. In other features, the control means determines the length ofthe ATIM window based on a backoff period.

In other features, the control means determines the length of the ATIMwindow based on one of a duration of an ATIM frame, a short interframespace period, and an acknowledgement period. In other features, thecontrol means determines the length of the ATIM window iteratively basedon a beacon interval.

In other features, the local station further includes transceiving meansfor transmitting one of the first status indicator and the length of theATIM window to another station in the wireless network. In otherfeatures, the local station further includes transceiving means fortransmitting a beacon that includes one of the first status indicatorand the length of the ATIM window. In other features, the local stationfurther includes transceiving means for transmitting an ATIM frame basedon the length of the ATIM window.

In further features, the control means determines a backoff period basedon the change in the number of active conversations. The control meanstransmits an ATIM frame based on the backoff period. In other features,the control means alters a maximum for the backoff period based on thechange in the number of active conversations. The control meansdetermines the backoff period based on the random number maximum.

In still other features, the control means maintains a list of activeconversation in the wireless network. The control means adjusts thelength based on the list.

In other features, the local station further includes transceiver meansfor monitoring conversations in the wireless network. The control meansdetects the change in the number of active conversation based on one ofbeacons and probe responses in the wireless network. In other features,one of the beacons and the probe responses has the same correspondingservice set identifier.

In yet other features, a wireless network is provided and includes thelocal station and further includes a remote station. The local stationtransmits one of the first status indicator and the length to the remotestation. In other features, the remote station updates another ATIMwindow based on one of the first status indicator and the length.

In other features, a wireless network is provided and includes the localstation and further includes a remote station. The local stationreceives a second status indicator from the remote station thatrepresents another number of active conversations in the wirelessnetwork. The control means adjusts the length based on the second statusindicator.

In other features, a wireless network is provided and includes the localstation and further includes a remote station. The local station and theremote station maintain lists of active conversations in the wirelessnetwork. The local station and the remote station adjust respective ATIMwindows based on the lists.

In other features, a wireless network is provided and includes the localstation and further includes a remote station. The local station and theremote station update respective ATIM windows based on activeconversations in the wireless network. In other features, the localstation and the remote station transmit ATIM frames based on therespective ATIM windows and a received beacon. In other features, thelocal station and the remote station transmit data based on the ATIMframes and a beacon interval.

In still other features, the systems and methods described above areimplemented by a computer program executed by one or more processors.The computer program can reside on a computer readable medium such asbut not limited to memory, nonvolatile data storage, and/or othersuitable tangible storage mediums.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description, the claims and the drawings. Itshould be understood that the detailed description and specific examplesare intended for purposes of illustration only and are not intended tolimit the scope of the disclosure.

BRIEF DESCRIPTION OF DRAWINGS

The present disclosure will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a functional block diagram that illustrates an ad-hoc wirelessnetwork according to the prior art;

FIG. 2 is a functional block diagram of a wireless network that operatesin an ad-hoc mode according to an embodiment of the present disclosure;

FIG. 3 is a functional block diagram of a wireless networkcommunications device of a station that operates in an ad-hoc modeaccording to an embodiment of the present disclosure;

FIG. 4 is a block diagram of a station database according to anembodiment of the present disclosure;

FIG. 5 is a block diagram of an active conversation database accordingto an embodiment of the present disclosure;

FIG. 6 is a block diagram of an ATIM window database according to anembodiment of the present disclosure;

FIG. 7 is a timing diagram illustrating station operation events duringan ad-hoc mode in accordance with an embodiment of the presentdisclosure;

FIG. 8 illustrates a method of operating a wireless network inaccordance with an embodiment of the present disclosure;

FIG. 9 illustrates a method of operating a station in an ad-hoc wirelessnetwork in accordance with an embodiment of the present disclosure;

FIG. 10 illustrates an example method of shutting down a station that isoperating in an ad-hoc mode in accordance with an embodiment of thepresent disclosure;

FIG. 11A is a functional block diagram of a hard disk drive;

FIG. 11B is a functional block diagram of a DVD drive;

FIG. 11C is a functional block diagram of a high definition television;

FIG. 11D is a functional block diagram of a vehicle control system;

FIG. 11E is a functional block diagram of a cellular phone;

FIG. 11F is a functional block diagram of a set top box; and

FIG. 11G is a functional block diagram of a mobile device.

DESCRIPTION

The following description is merely exemplary in nature and is in no wayintended to limit the disclosure, its application, or uses. For purposesof clarity, the same reference numbers will be used in the drawings toidentify similar elements. As used herein, the phrase at least one of A,B, and C should be construed to mean a logical (A or B or C), using anon-exclusive logical or. It should be understood that steps within amethod may be executed in different order without altering theprinciples of the present disclosure.

As used herein, the term module refers to an Application SpecificIntegrated Circuit (ASIC), an electronic circuit, a processor (shared,dedicated, or group) and memory that execute one or more software orfirmware programs, a combinational logic circuit, and/or other suitablecomponents that provide the described functionality.

Referring now to FIG. 2, a functional block diagram of a wirelessnetwork 50 that operates in an ad-hoc mode is shown. The wirelessnetwork 50 includes multiple stations 52-1, 52-2 and 52-3 that transmitand receive wireless signals 56 directly with each other to form anad-hoc network. The wireless signals 56 are transmitted and receivedwithout use of an access point when in the ad-hoc mode.

The stations 52-1, 52-2 and 52-3 may include mobile and non-mobilestations, desktop and laptop computers, cameras, network interfaces,cellular phones, printers, personal data assistants, gaming systems anddevices, etc. The stations 52-1, 52-2 and 52-3 respectively includead-hoc control modules 58-1, 58-2 and 58-3 and ad-hoc databases 60-1,60-2 and 60-3.

The ad-hoc control modules 58-1, 58-2 and 58-3 control communicationduring the ad-hoc mode. Each of the ad-hoc control modules 58-1, 58-2and 58-3 tracks the number of stations in the wireless network 50 andthe active conversations of each of the stations 52-1, 52-2 and 52-3.Each of the ad-hoc control modules 58-1, 58-2 and 58-3 determines one ormore variable ATIM windows based on the number of active conversationsin the wireless network 50. The ATIM windows may be determined based onvarious wireless network status indicators 62-1, 62-2 and 62-3, whichare stored in the ad-hoc databases 60-1, 60-2 and 60-3. The statusindicators 62-1, 62-2 and 62-3 may include previous and current statusvalues, as well as predicted status values that indicate an estimate offuture values.

The ad-hoc control modules 58-1, 58-2 and 58-3 control communicationduring the ad-hoc mode based on beacon intervals. Timing beacons areperiodically generated by a designated one of the stations 52-1, 52-2and 52-3. For example only, the beacon interval may be 100 time units inlength and each time unit may equal 1.024 ms. The generation of a beaconsignifies the beginning of a beacon interval and the beginning of theATIM windows. Stations with buffered data packets transmit ATIM framesduring the ATIM windows to initiate a data transfer to the otherstations.

Referring now to FIG. 3, a functional block diagram of a wirelessnetwork device 100 of a local station that operates in an ad-hoc mode isshown. The wireless network device 100 is provided for example purposesonly and may represent a communications architecture of any of thestations 52-1, 52-2 and 52-3 shown in FIG. 2. The embodiments disclosedherein may apply to various stations and/or wireless communicationdevices, which may have different architectures. The embodiments of thepresent disclosure are not limited to the architecture of FIG. 3.

The wireless network device 100 may operate in multiple modes includingan infrastructure mode, an ad-hoc mode, an active mode, a low-powermode, a high-power mode, etc. In the infrastructure mode, the wirelessnetwork device 100 communicates with another communication device in alocal or remote network via an access point. In the ad-hoc mode, thewireless network device 100, in general, communicates directly withanother communications device in a local network without use of anaccess point. In the active and/or high-power modes, the wirelessnetwork device 100 processes incoming and outgoing data. In thelow-power mode, the wireless network device 100 does not transmit orreceive data.

The duration that the wireless network device 100 operates in thelow-power mode may vary. A start time of the low-power mode may bevariable and an end time of the low-power mode may be fixed relative toan ATIM window and/or beacon interval. The low-power mode may end beforethe start of a subsequent timing beacon. The wireless network device 100returns to the active mode before a next or subsequent beacon isdetected and/or generated.

In one implementation, the wireless network device 100 includes an SOCcircuit 102, an external radio frequency (RF) transceiver 104, and acrystal oscillator (XOSC) 106. The crystal oscillator 106 can be locatedexternally or the amplifier portion of the XOSC 106 can be integratedwith the SOC circuit 102 and the crystal portion of the XOSC 106 can belocated externally.

The RF transceiver 104 wirelessly transmits and/or receives data to andfrom an AP or another station. The XOSC 106 provides a reference signalto first and second phase-locked loops (PLL) 108 and 110. The first PLL108 is located in the SOC circuit 102 and the second PLL 110 is locatedin the RF transceiver 104. The first and second PLL 108 and 110 generateclock signals that may be generated and calibrated based on a referencesignal 112 from the XOSC 106.

In one implementation, the SOC circuit 102 includes an ad-hoc controlmodule 114, a baseband processor (BBP) 116, and a medium access control(MAC) device 118. The ad-hoc control module 114 determines ATIM windowvalues based on status indicators 120 stored in ad-hoc databases 122 ofmemory 124 including a list of active conversations 126. The ad-hoccontrol module 114 may also determine ATIM window values based ondifferent delay periods including a random backoff period, which may begenerated by a random number generator 125.

The list of active conversations 126 may include an identification ofthe stations associated with each conversation. The list of activeconversations 126 includes a list of active conversations that directlyinvolve the local station. The list of conversations 126 also includes alist of active conversations that do not involve the local station, butrather involve other stations in a wireless network of the localstation. The other stations are referred to as remote stations. Thelists of active conversations may include conversation and stationidentifications for each conversation.

The local station may snoop the destination MAC address of packets froma host to one of the stations in the wireless network to detect anactive conversation. The local station may remove entries in the list ofactive conversations 126 after inactivity for a predetermined timeperiod. The predetermined time period may correspond with or be the samelength as an ATIM window and may be determined by an inactivity timer127.

The ad-hoc control module 114 communicates with remote network devicesby controlling operation of the BBP 116 and MAC 118 and/or transmissionand reception of signals via the BBP 116 and MAC 118. For example, thead-hoc control module 114 may control transmission and/or reception ofATIM frames, data signals, and acknowledgement signals based on thestatus indicators 120.

The ad-hoc control module 114 may communicate with network devices usingwire-based communication via an interface 130. The interface 130interface 130 may be connected to a host and may include and/or providea link to a host interface such as peripheral component interconnect(PCI) interface.

The BBP 116 includes the first PLL 108, a digital voltage regulator 132,and an analog voltage regulator 134. The digital and analog voltageregulators 132 and 134, respectively, supply regulated voltages to oneor more components in the SOC circuit 102. Additional analog and/ordigital voltage regulators and/or voltage regulators operating at othervoltages may be employed. The first PLL 108 generates clock signals 136for the MAC device 118, clock signals 138 for the ad-hoc control module114 and clock signals for the BBP 116 based on the reference signal 112from the XOSC 106.

The BBP 116 also includes a low-power oscillator 140 that provides asignal 142 to a counter 144 in the MAC device 118. The counter 144determines when the wireless network device 100 wakes from the low-powermode before a timing beacon.

The MAC device 118 controls and selects different operating modes of theBBP 116 and the RF transceiver 104. During operation, the MAC device 118instructs the BBP 116 and the RF transceiver 104 to transition to alow-power mode to conserve power.

The MAC device 118 transmits a transceiver mode signal 150 to the RFtransceiver 104. The transceiver mode signal 150 instructs the RFtransceiver 104 to operate in the active mode, the high-power mode orthe low-power mode. The transceiver mode signal 104 also informs the RFtransceiver 104 whether it is transmitting or receiving RF signalsduring the active mode. The RF transceiver 104 remains deactivatedduring the low-power mode and does not transmit or receive RF signals.The RF transceiver 104 may be completely shut down for maximum powerreduction. During the low-power mode, the RF transceiver 104 may remainin a partially-ON state and utilize a small amount of power to allow fora quick transition from the low-power mode to the active mode and/orhigh-power mode.

The MAC device 118 also transmits a BBP mode signal 152 to the BBP 116.The BBP mode signal 152 instructs the BBP 116 to operate in the activemode or the low-power mode. The MAC device 118 may deactivate the XOSC106 during the low-power mode to conserve power.

The MAC device 118 also includes an input/output (I/O) module 154, whichmay be a general purpose I/O module (GPIO). In the event that a stationrequires the wireless network device 100 to return to the active mode,the station triggers an I/O input 156 of the input/output module 154. Ifthe I/O input 156 is triggered during the low-power mode, the wirelessnetwork device 100 returns to the active mode. Some host interfaces suchas a compact flash card may not include a signal to trigger the I/Omodule 154. The ad-hoc control module 114 may generate an interrupt whenthe wireless network device 100 returns to the active mode and when atrigger is not received via the I/O input 156. The interrupt may be usedto query a host to determine whether the host has data to transmit.

The MAC device 118 may instruct the BBP 116, the RF transceiver 104 andthe PLL 110 to enter the low-power mode. The MAC device 118 disablesinternal clocks in the SOC circuit 102. The MAC device 118 next disablesthe first PLL 108, then the XOSC 106 and voltage regulators 132 and 134with a disable signal 158.

Since the MAC device 118 disables the digital voltage regulator 132during the low-power mode, the BBP 116 may also include a low-powerdigital voltage regulator 160. The low-power voltage regulator 160dissipates less power than the other voltage regulators. The low-powervoltage regulator 160 provides power for the low power oscillator 140and the counter 144. The low-power voltage regulator 160 may also supplypower to the memory 124 to retain the state of the SOC circuit 102. Thisallows for a short wake up time. The MAC device 118 also includestransmit and receive state machines 162 and a transmit buffer 164.

During the low power mode, the I/O module 154 monitors the I/O input156. If the I/O input 156 is not triggered during the low-power mode,the wireless network device 100 returns to the high-power mode after thecounter 144 reaches the end of a low-power period. In order to return tothe active mode, the MAC device 118 enables the voltage regulators 132and 134 and the XOSC 106, respectively. The MAC device 118 activates thefirst PLL 110. The MAC device 118 next enables the internal clocks togenerate the clock signals 136 and 138. Finally, the MAC device 118instructs the BBP 116 and the RF transceiver 104 to operate in theactive mode.

The information contained in the databases described in the followingFIGS. 4-6 may be generated and stored by each station in an ad-hocwireless network, may be generated by a local station, or may begenerated by a remote station and transmitted to the local station andvice versa. The information may be stored as numerical values oridentifications.

Referring now to FIG. 4, a block diagram of a station database 170 isshown. The station database 170 includes status indicators for a numberof stations that are current in a wireless network 172, a number ofactive stations in the wireless network 174, and a list of activestations identifications 176. A station may passively monitor one ormore channels of the wireless network and determine the number ofstations that are attached or in a wireless network, as well as thenumber of active stations in the wireless network. A station may also beinformed via another station of this information by reception of anindication signal. A station may actively ping the wireless networkand/or transmit request signals to one or more other stations to receivethis information.

Referring now to FIG. 5, a block diagram of an active conversationdatabase 180 is shown. The active conversation database 180 may includeindex entries with a corresponding number of active conversation values.The active conversation database 180 may include a number of activeconversations of a local station AC_(L), numbers of active conversationsfor each remote station ACR₁-ACR_(N), a total number of active remoteconversations AC_(RT), and a total number of active conversationsAC_(T). N is the number of remote stations in a wireless network.

Referring now to FIG. 6, a block diagram of an ATIM window database 190is shown. The ATIM window database 190 may include index entries with acorresponding ATIM window length. Each station in a wireless network mayinclude an ATIM window database and determine an ATIM window length.This ATIM window length may be based on information stored in thedatabases 170 and 180 of FIGS. 4 and 5, as well as the informationstored in the ATIM window database 190. The information in the ATIMwindow database 190 may be locally generated and/or remotely generatedand received by a local station.

The ATIM window database 190 may include: previous and current localATIM window length ATIM_(LP), ATIM_(LC), previous and current remoteATIM window lengths for each remote stations ATIM_(RP1)-ATIM_(RPN),ATIM_(RC1)-ATIM_(RCN), an average previous ATIM window length for all ofthe stations including the local station ATIM_(AVGPL), an averageprevious ATIM window length for all of the remote stations ATIM_(AVGP),an average current ATIM window length for all of the stations includingthe local station ATIM_(AVGCL), and an average current ATIM windowlength for all of the remote stations ATIM_(AVGC).

The term previous refers to a previous ATIM window length or ATIM periodfor a previous beacon interval. The term current refers to a currentATIM window length or ATIM period for a current beacon interval. Theprevious and current ATIM periods may be associated with any localand/or remote stations.

A previous ATIM window length and a current ATIM window length of astation may be the same or different. Previous and current ATIM windowlengths of a first station may be the same or different than theprevious and current ATIM window lengths of a second station. In oneembodiment, the previous ATIM window lengths for each station of awireless network are approximately the same. In another embodiment, thecurrent ATIM window lengths for each station of a wireless network areapproximately the same.

In yet another embodiment, the ATIM window lengths for each station of awireless network may be adjusted for each beacon interval and convergeto a common ATIM window length over two or more beacon intervals. Theembodiments disclosed herein allow the ATIM window lengths of differentstations to quickly converge to the common ATIM window length. Assumingthat the wireless network is a single-hop ad-hoc network and assumingthat communication traffic conditions and the total number of activeconversations change slowly and infrequently, the ATIM window lengthsfor each station are approximately equal. A single-hop network refers toa wireless network where each station can monitor communication activityof every other station in the network. In contrast, a mesh or multi-hopnetwork refers to when a station in a network is unable to monitorcommunication of every station in the network. Slow and infrequentchanges may, for example, refer to changes that occur approximately onceover a time period that is approximately five (5) time units in length.Quick and frequent changes may, for example, refer to multiple changesduring a time period of less than approximately 5 time units in length.

Referring now to FIG. 7, an example timing diagram illustrating stationoperation events during an ad-hoc mode for two beacon intervals isshown. The length of the beacon intervals may be the same and may bedetermined at creation of a wireless network. Three signals are shown.The first signal 200 includes timing beacons that are generated by afirst or local station. The second and third signals 202, 204 illustratepower modes of two remote stations. Although in the disclosed embodimentof FIG. 7 the local station generates the timing beacons, remotestations may generate timing beacons.

Each beacon interval includes an ATIM window followed by a data windowthat corresponds to each of the stations. The ATIM windows aredetermined by each of the stations. For example only, ATIM windows ATIMLocal Win₁, ATIM Remote Win_(A1), and ATIM Remote Win_(B1) are shownrespectively for the local and remote stations and for the first beaconinterval. Respective data transmission windows Data Local Win₁, DataRemote Win_(A1), and Data Remote Win_(B1) for the first beacon intervaland ATIM windows ATIM Local Win₂, ATIM Remote Win_(A2), and ATIM RemoteWin_(B2) for the second beacon interval are also shown. ATIM frames andcorresponding acknowledgement signals may be transmitted during the ATIMwindows. The acknowledgement signals indicate that an ATIM frame wassuccessfully received. Stations that transmit and/or receive ATIM framesremain in an active state throughout a current beacon interval and mayremain active throughout a subsequent ATIM window period of a subsequentbeacon interval.

In operation, each of the stations may be aware of the length of thebeacon intervals, as well as the lengths of the ATIM windows of otherstations. Each station operates in a corresponding power mode based onthe beacon intervals. The stations are in an active and/or high-powermode before the generation and reception of a beacon signal. This isshown by the rising edges of the power mode signals of the remotestations.

Upon generation or reception of a beacon signal stations that were in anon-transmitting and/or inactive state during a previous beacon intervalwait a corresponding distributed coordination function interframe space(DIFS) period and backoff period prior to transmitting an ATIM frame.The DIFS period may begin at each timing beacon and/or may be in syncwith the beginning of each ATIM window. Stations that were activelytransmitting data during the previous beacon interval may generate andtransmit ATIM frames with reduced backoff periods. This allows thestations that were actively transmitting to continue and/or complete theprevious transmission.

The station(s) may transmit ATIM frames after the channel(s) of awireless network are in an idle state for the DIFS period or the DIFSperiod plus a corresponding random backoff period. This preventscollisions and conflicts on the channel(s) between competing ATIM framesfrom different stations. The DIFS period may be preset and remain at afixed value. The DFIS period may be common for all of the stationswithin the wireless network. As an example, a station may count down theDIFS period or the DIFS period plus the corresponding random backoffperiod before transmitting an ATIM frame.

A backoff period may be added to the DIFS period to further increase theinterframe space or time between ATIM frame transmissions. The backoffperiod may be randomly generated. The backoff period may be differentfor each station. A random number generator may be used to generate thebackoff period for each station to reduce frame collisions. A randomnumber generator may be located on each station for local generation ofa random number. As an alternative, a random number generator may belocated on one of the stations and random numbers may be transmitted tothe other stations. The use of random backoff periods increases the timethat each station must remain in receive mode.

The lengths of the ATIM windows of the stations may not be the same fora first beacon interval. The ATIM windows may be adjusted and convergeto have a common length for the second beacon interval, as shown.

The lengths of the ATIM windows change based on the number of activeconversations. When the number of active conversation decreases, asshown by the example of FIG. 7, the length of the ATIM windows decrease.The length of the ATIM windows may be determined during the datatransmission windows.

A local station may know and indicate when its own active number ofconversations has changed or is to change. For example, remote stationSTN₁ may indicate to the remote station STN₂ and the local station thatthe number of active conversations associated with remote station STN₁is to decrease. This allows the local station and the remote stations toalter the lengths of the ATIM windows.

Alternatively, each station may monitor activity associated with otherstations to determine when the number of active conversations haschanged. The stations may then change the lengths of the ATIM windowsfor a subsequent beacon interval.

As another alternative, a station may request information regarding thenumber of active conversations from one or more other stations. Astation may receive active conversation status information for thestations of a network from one or more stations.

The stations may power down and return to a low-power mode when thestations are in an inactive state for a predetermined period of time orwhen the stations remain inactive over a corresponding ATIM window. Inthe example shown, the first remote station STN₁ returns to a low-powermode after the second ATIM window ATIM Remote Win_(A2).

Referring now to FIG. 8, a logic flow diagram illustrating a method ofoperating a wireless network in an ad-hoc mode is shown. Although thefollowing steps are primarily described with respect to the embodimentsof FIGS. 2-6, the steps may be easily modified to apply to otherembodiments of the present invention. The method may begin at step 300.

In step 302, an ad-hoc creator sets an initial ATIM window length andmay also set a DIFS period. The ATIM window length may initially be setat a predetermined nominal value, such as 2 ms during network creation.As stations enter and join the wireless network they synchronize withthe other stations in the wireless network.

In step 304, each station is placed in an active state. At the start ofthe method one or more stations may be in a sleep mode. Upon enteringsleep mode, the stations begin to time a sleep interval in order towakeup and stabilize circuitry of each station prior to a next scheduledbeacon. A sleep counter may be used to time the sleep interval. This mayalso be done with a low-frequency oscillator that is described above inorder to reduce current consumption. If the counter is up and the wakeuptime has arrived, the circuitry of each station is enabled. Once thecircuitry of each station has stabilized, the network time in eachstation is updated to a previous beacon time plus a beacon interval.

Any of the following steps 306-332 may be iteratively performed.

In step 306, each station determines a number of active conversations inthe wireless network. In step 306A, each station may monitor one or morerespective wireless network channels to determine traffic status of thechannel(s) and to determine the number of active conversations in thewireless network. The active conversations may be determined bypassively listening to beacons and/or probe responses that have the sameservice set identity (SSID) and/or basic service set identity (BSSID).Beacons may refer to signals broadcast by a station and may includetiming information, status information, requests, etc. Probe responsesmay refer to one or more stations that transmit probe response signalsincluding status information based on probe request signals. In anad-hoc wireless network, the stations may have a BSSID that is used toidentify a particular BSS within an area. The BSSID may include a MACaddress that is generated based on a random number, an individual/groupbit and a universal/local bit.

In step 306B, one or more stations may receive status information, suchas any of the information in one of the databases from one or more ofthe other stations in the wireless network. Step 306B may be performedin addition to or alternatively than step 306A. The status informationmay be transmitted using an intermission element in an outgoing beaconor in a probe response. An intermission element may have a protocol toinclude type, length and value fields. When stations are probed forstatus information, the stations may respond by generating a proberesponse that includes the requested information. A station may transmitcurrent status information or changes in status information withoutreception of a request signal.

A station may transmit a broadcast probe request, as disclosed in802.11d, which is incorporated herein by reference in its entirety. Thebroadcast probe request may include a request information element thatrequests a list of stations in the wireless network from a station inthe wireless network. Stations in the wireless network may respond tothe broadcast probe request by transmitting a probe response signal. Theprobe response signal may include an intermission element that indicatesstatus information with regard to the stations and corresponding activeconversations in the wireless network.

In step 306C, the numbers of active conversations and/or other statusinformation from steps 203A and 203B may be stored in memories of eachstation.

In step 308, each station in the wireless network determines an ATIMwindow based on information stored in a list of active conversationsand/or in databases, such as the list of active conversations and thestation database, the active conversation database and the ATIM windowdatabase. The ATIM windows may be determined using equation 1.ATIM=ActConv×(DIFS+BackOff_(MAX)+ATIMFrameDur+SIFS+AckFrameDur)  (1)

ATIM is the ATIM window length. ActConv is the number of activeconversations. DIFS is the DIFS period. BackOff_(MAX) is a maximumbackoff period or limit. ATIMFrameDur is the time period associated withthe transmission of an ATIM frame. SIFS is the corresponding SIFSperiod. AckFrameDur is the time period associated with the transmissionof an acknowledgement signal that is generated in response to thereception of the ATIM frame.

The ATIM window lengths are determined before the generation of abeacon. This is referred to the pre-target beacon transmission time(TBTT). Each station may have a corresponding pre-TBTT period that endsat a TBTT. The pre-TBTT periods may occur during data transmissionwindow periods, such as during the data transmission window periods. TheATIM window lengths may be bounded by a minimum value ATIM_(MIN) and amaximum value ATIM_(MAX).

In step 310, a station that is designated to generate beacons generatesa beacon at the TBTT. A station with the smallest beaconing delay may bedesignated the beaconing station. The beacon may include anadvertisement of a calculated ATIM window length. The calculated ATIMwindow length may be the ATIM window length calculated by the stationtransmitting the beacon or an ATIM window length calculated by anotherstation. The calculated ATIM window length may be calculated usingequation 1 and include the ATIM window length determined in step 308 orstep 326. The calculated ATIM window length may be an average of ATIMwindow lengths determined by multiple stations. A station may receiveATIM window lengths individually determined by stations of the wirelessnetwork and determine an average ATIM window length. The average ATIMwindow length may be broadcast to the stations in the network.

The calculated ATIM window length may be calculated based on previousATIM window periods, current ATIM window periods, and average ATIMwindow periods. Examples of these ATIM window periods are shown in FIG.6.

In step 312, each station may adapt to the ATIM window lengthbroadcasted by the beaconing station. Each station may adjust acorresponding ATIM window for that station based on the broadcasted ATIMwindow length. Each station may account for the beaconed ATIM windowlength in the current beacon interval, depending upon transmission andprocessing times. A local station may increase or decrease a local ATIMwindow length based on one or more broadcasted ATIM window lengths. Astation may broadcast an ATIM window length of any station in thewireless network via a timing beacon of a beacon interval or by someother beacon or transmission signal.

In step 314, each of the non-transmitting and/or inactive stations waitsa DIFS period and a corresponding backoff period. The DIFS and/orbackoff periods allow new stations to join the wireless network andallow for other management and control frames to be sent. The DIFSand/or backoff periods can be used to inform existing stations in thenetwork that a station has joined or left the BSS.

Occasionally, there may be situations when a station does not receivedata from one of the other stations. During the DIFS and/or backoffperiods, a station can optionally send messages that request anotherstation to raise its power level or to resend requested information ordata.

In step 316, request to send (RTS) signals, which may include ATIMframes, may be transmitted. If more than one frame is to be transmitted,SIFS intervals may be used between frames. The sequence of transmissionfor the ATIM frames may proceed with successive transmission by thestations as determined by the backoff periods. For example, station Amay be followed by station B, which may be followed by station C, untileach station to transmit an ATIM frame has transmitted or until the endof the ATIM window. Mobile station B will be allowed to transmit at theearlier of the end of mobile station A's slot time or after an SIFSinterval that follows the end of mobile station A's slot time.

The designation of stations as station A, station B, etc. can be made inany suitable fashion. The designation of stations may be based at leastin part by the backoff period. The station with the shortest backoffperiod is has the highest probability of transmitting its ATIM framefirst and thus may be designated station A.

In step 318, after a short interframe space (SIFS) period, stations thatreceive the ATIM frames may generate and transmit clear to send (CTS)signals. The CTS signals may include acknowledgements that the RTSsignals were received. The clear to send signal may indicate permissionto send data signals. In one implementation, in step 318, stations thatreceive the ATIM frames transmits ACKs for the received ATIM frames.

In step 320, control for each of the stations determines when thecalculated ATIM period, which begins at beacon transmission, has timedout. After the calculated ATIM period control proceeds to steps 324 and328. For example only, steps 324-326 may be performed during step 328.

The following steps 324-326 may be performed during one or more of steps314-320.

In step 324, each station determines an updated number of activeconversations in the wireless network. In step 324A, each station maymonitor one or more respective wireless network channels to determinetraffic status of the channel(s) and determine an updated number ofactive conversations in the wireless network. Each station updates thenumber of active conversations to generate current values.

In step 324B, one or more stations may receive status information, suchas any of the information in one of the databases from one or more ofthe other stations in the wireless network. Each station updates thenumber of active conversations to generate current values.

In step 324C, the numbers of active conversations and/or other statusinformation from steps 324A and 324B may be stored in memories of eachstation.

In step 326, each station in the wireless network calculates an updatedATIM window length. Each station generates current ATIM window lengthsto replace the previously generate ATIM window lengths. The ATIM windowlengths may be determined using equation 1.

In step 328, data signals may be transmitted. The data signals aretransmitted during data transmission windows, which adjust according tocorresponding ATIM window lengths. The length of a data transmissionwindow is equal to the length of a beacon interval minus the length ofthe corresponding ATIM window. Although shown as being performed duringstep 314, step 328 may be performed during one or more of steps 316-326.

In step 330, control of the designated beaconing station may generate anext beacon after a previous beacon interval. The stations may return tostep 314 and/or perform step 332 after receiving the next beacon.

In step 332, if not adapted previously, each station may adapt to theATIM window length broadcasted by the beaconing station. Each stationmay adjust a corresponding ATIM window for that station based on thebroadcasted ATIM window length. Each station may then account for abeaconed ATIM window length in a subsequent beacon interval.

The above-described method dynamically scales ATIM windows to providethe appropriate time for the transmission of ATIM frames and thereception of ATIM frame acknowledgement signals.

Referring now also to FIG. 9, a logic flow diagram illustrating a methodof operating a station in an ad-hoc wireless network is shown. Themethod of FIG. 9 may be incorporated into the method of FIG. 8. Forexample, the following steps 352-360 may be performed during and/orafter steps 306, 308, 324 and 326. The method may begin at step 350.

In step 351, a local station calculates an ATIM window length. The ATIMwindow length may be calculated using equation 1.

In step 352, the local station detects a change in the number of localactive conversations and updates a local active conversation statusindicator. The local station detects when the local station is involvedin a larger or smaller number of local active conversations. Thisdetection may occur through internal awareness that a currentconversation is completed or is to be completed. This detection mayoccur due to loss in a communication connection with another station orcan be based on a signal received from another station. A remote stationmay indicate the completion of an active conversation via, for example,a data received acknowledgement.

In step 354, the station may decrease the size of its beacon contentionwindow based on the updated number of local active conversations. Abeacon contention window may refer to the DIFS period plus thecorresponding backoff period for that station. When generating thebackoff period, an upper limit M for a selected random number may beadjusted, as represented by box 356. This adjustment can increase theprobability of the station being the next station to obtain rights tobroadcast/transmit over a channel in the wireless network. For example,a normal backoff selection range may be 0-M, where 0 is the lower limitand M is the upper limit. A random number is selected between O-M duringnormal operation. When there is a change in the number of local activeconversations, the value of M may be decreased to allow a local stationto broadcast the change in the number of active conversations.

The adjustment in the upper limit M alters a probability of beaconingand/or conveying the change in the number of local active conversationsto other stations for a current beacon interval. The adjustment may bemaintained for a predetermined number of TBTTs or beacon intervals.After the local station conveys to other stations the change in thenumber of active conversations, the local station may return to a normalbeacon contention window.

In step 358, the local station broadcasts the updated number of localactive conversations. The updated number of local active conversationsmay be broadcasted as part of a beacon timing signal, such as part ofsteps 310 or 330. The updated number of local active conversations maybe transmitted: as unsolicited probe signals; as probe response signalsto received update requests; to one or more designated stations, etc. Instep 360, control returns the upper limit M to a normal upper backofflimit.

To minimize power consumption, the embodiments disclosed herein allowthe stations in a Basic Service Set (BSS) to update each other withrespect to various parameters, such as those described with respect toFIGS. 3-6. This allows for the dynamic adjustment of the ATIM windowsfor each station and the quick convergence to a common ATIM window foreach station. The amount of time that each station spends in thelow-power mode is significantly increased, which reduces the averagepower consumption of the stations.

Referring now to FIG. 10, a flow diagram illustrating an example methodof shutting down a station that is operating in an ad-hoc mode is shown.Although the steps of FIG. 10 are described primarily with respect tothe embodiment of FIG. 3, the steps may be applied to other embodimentsof the present disclosure. When a station does not transmit or receivean ATIM frame during an ATIM window, the station may shutdown after theATIM window period.

The method may begin at step 400. In step 402, the ad-hoc control modulemay calibrate the low-power oscillator 84 using signals generated by theXOSC 54. In step 404, the RF transceiver and the BBP are transitioned tothe low-power state or mode. In step 406, the internal clocks aredisabled and the PLLs, the XOSC and the voltage regulators are shutdown. Wireless baseband circuitry may be shutdown.

The above-described steps in FIGS. 8-10 are meant to be illustrativeexamples; the steps may be performed sequentially, synchronously,simultaneously, continuously, during overlapping time periods or in adifferent order depending upon the application.

As can be appreciated, while the present invention has been described inconjunction with ad-hoc networks, skilled artisans will appreciate thatthe present invention also applies to wireless infrastructure networksas well. In addition, while the wireless network devices are implementedby an SOC, any other suitable approach can be used including but notlimited to Application Specific Integrated Circuits (ASICs),controllers, processors and memory running firmware and/or software,combinatorial logic, discrete circuits and/or combinations thereof.

The embodiments of the present disclosure may be implemented inconformance with IEEE standards 802.11, 802.11a, 802.11b, 802.11g,802.11h, 802.11n, 802.16, and 802.20 and/or Wi-Fi standards, which areall incorporated by reference herein in their entirety. The embodimentsof the present disclosure may also incorporate Bluetooth protocols forcommunication between wireless stations.

The embodiments of the present disclosure conserve power. By iterativelyadjusting ATIM window length to an appropriate level for a currentbeacon interval, the embodiments reduce the amount of time that stationsare in high-power and/or active power states. All ATIM frames may betransmitted during a current ATIM window rather than holding one or moreATIM frames for subsequent beacon intervals. In providing an appropriatesized ATIM window, a data transmission window is adjusted accordingly.When the ATIM window is decreased in size, the data transmission windowis increased, thus allowing for an increase in data throughput andbandwidth. This prevents backlogs of ATIM frames and data.

Referring now to FIGS. 11A-11G, various exemplary implementationsincorporating the teachings of the present disclosure are shown.

Referring now to FIG. 11A, the teachings of the disclosure can beimplemented in a hard disk controller (HDC) module 510 using anonvolatile memory 512 or a hard disk assembly (HDA) 501 of a hard diskdrive (HDD) 500. The nonvolatile memory 512 and/or the HDA 501 may storethe above-described databases. The HDD 500 includes a hard disk assembly(HDA) 501 and an HDD printed circuit board (PCB) 502. The HDA 501 mayinclude a magnetic medium 503, such as one or more platters that storedata, and a read/write device 504. The read/write device 504 may bearranged on an actuator arm 505 and may read and write data on themagnetic medium 503. Additionally, the HDA 501 includes a spindle motor506 that rotates the magnetic medium 503 and a voice-coil motor (VCM)507 that actuates the actuator arm 505. A preamplifier device 508amplifies signals generated by the read/write device 504 during readoperations and provides signals to the read/write device 504 duringwrite operations.

The HDD PCB 502 includes a read/write channel module (hereinafter, “readchannel”) 509, the HDC module 510, a buffer 511, the nonvolatile memory512, a processor 513, and a spindle/VCM driver module 514. The readchannel 509 processes data received from and transmitted to thepreamplifier device 508. The HDC module 510 controls components of theHDA 501 and communicates with an external device (not shown) via an I/Ointerface 515. The external device may include a computer, a multimediadevice, a mobile computing device, etc. The I/O interface 515 mayinclude wireline and/or wireless communication links.

The HDC module 510 may receive data from the HDA 501, the read channel509, the buffer 511, nonvolatile memory 512, the processor 513, thespindle/VCM driver module 514, and/or the I/O interface 515. Theprocessor 513 may process the data, including encoding, decoding,filtering, and/or formatting. The processed data may be output to theHDA 501, the read channel 509, the buffer 511, nonvolatile memory 512,the processor 513, the spindle/VCM driver module 514, and/or the I/Ointerface 515.

The HDC module 510 may use the buffer 511 and/or nonvolatile memory 512to store data related to the control and operation of the HDD 500. Thebuffer 511 may include DRAM, SDRAM, etc. Nonvolatile memory 512 mayinclude any suitable type of semiconductor or solid-state memory, suchas flash memory (including NAND and NOR flash memory), phase changememory, magnetic RAM, and multi-state memory, in which each memory cellhas more than two states. The spindle/VCM driver module 514 controls thespindle motor 506 and the VCM 507. The HDD PCB 502 includes a powersupply 516 that provides power to the components of the HDD 500.

Referring now to FIG. 11B, the teachings of the disclosure can beimplemented in a in a DVD control module 510 using a nonvolatile memory523 or a DVD assembly (DVDA) 520 of a DVD 518 or of a CD drive (notshown). The nonvolatile memory 523 and/or the DVDA 520 may store theabove-described databases. The DVD drive 518 includes a DVD PCB 519 andthe DVDA 520. The DVD PCB 519 includes the DVD control module 521, abuffer 522, the nonvolatile memory 523, a processor 524, a spindle/FM(feed motor) driver module 525, an analog front-end module 526, a writestrategy module 527, and a DSP module 528.

The DVD control module 521 controls components of the DVDA 520 andcommunicates with an external device (not shown) via an I/O interface529. The external device may include a computer, a multimedia device, amobile computing device, etc. The I/O interface 529 may include wirelineand/or wireless communication links.

The DVD control module 521 may receive data from the buffer 522,nonvolatile memory 523, the processor 524, the spindle/FM driver module525, the analog front-end module 526, the write strategy module 527, theDSP module 528, and/or the I/O interface 529. The processor 524 mayprocess the data, including encoding, decoding, filtering, and/orformatting. The DSP module 528 performs signal processing, such as videoand/or audio coding/decoding. The processed data may be output to thebuffer 522, nonvolatile memory 523, the processor 524, the spindle/FMdriver module 525, the analog front-end module 526, the write strategymodule 527, the DSP module 528, and/or the I/O interface 529.

The DVD control module 521 may use the buffer 522 and/or nonvolatilememory 523 to store data related to the control and operation of the DVDdrive 518. The buffer 522 may include DRAM, SDRAM, etc. Nonvolatilememory 523 may include any suitable type of semiconductor or solid-statememory, such as flash memory (including NAND and NOR flash memory),phase change memory, magnetic RAM, and multi-state memory, in which eachmemory cell has more than two states. The DVD PCB 519 includes a powersupply 530 that provides power to the components of the DVD drive 518.

The DVDA 520 may include a preamplifier device 531, a laser driver 532,and an optical device 533, which may be an optical read/write (ORW)device or an optical read-only (OR) device. A spindle motor 534 rotatesan optical storage medium 535, and a feed motor 536 actuates the opticaldevice 533 relative to the optical storage medium 535.

When reading data from the optical storage medium 535, the laser driverprovides a read power to the optical device 533. The optical device 533detects data from the optical storage medium 535, and transmits the datato the preamplifier device 531. The analog front-end module 526 receivesdata from the preamplifier device 531 and performs such functions asfiltering and A/D conversion. To write to the optical storage medium535, the write strategy module 527 transmits power level and timing datato the laser driver 532. The laser driver 532 controls the opticaldevice 533 to write data to the optical storage medium 535.

Referring now to FIG. 11C, the teachings of the disclosure can beimplemented in a high definition television (HDTV) control module 538using memory 541 or a storage device 542 of a HDTV 537. The memory 541and/or the storage device 542 may store the above-described databases.The HDTV 537 includes the HDTV control module 538, a display 539, apower supply 540, the memory 541, the storage device 542, a networkinterface 543, and an external interface 545. If the network interface543 includes a wireless local area network interface, an antenna (notshown) may be included.

The HDTV 537 can receive input signals from the network interface 543and/or the external interface 545, which can send and receive data viacable, broadband Internet, and/or satellite. The HDTV control module 538may process the input signals, including encoding, decoding, filtering,and/or formatting, and generate output signals. The output signals maybe communicated to one or more of the display 539, memory 541, thestorage device 542, the network interface 543, and the externalinterface 545.

Memory 541 may include random access memory (RAM) and/or nonvolatilememory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory, in which each memory cell has more than two states.The storage device 542 may include an optical storage drive, such as aDVD drive, and/or a hard disk drive (HDD). The HDTV control module 538communicates externally via the network interface 543 and/or theexternal interface 545. The power supply 540 provides power to thecomponents of the HDTV 537.

Referring now to FIG. 11D, the teachings of the disclosure may beimplemented in a vehicle control system 547 using memory 549 or astorage device 550 of a vehicle 546. The memory 549 and/or the storagedevice 550 may store the above-described databases. The vehicle 546 mayinclude the vehicle control system 547, a power supply 548, the memory549, the storage device 550, and a network interface 552. If the networkinterface 552 includes a wireless local area network interface, anantenna (not shown) may be included. The vehicle control system 547 maybe a powertrain control system, a body control system, an entertainmentcontrol system, an anti-lock braking system (ABS), a navigation system,a telematics system, a lane departure system, an adaptive cruise controlsystem, etc.

The vehicle control system 547 may communicate with one or more sensors554 and generate one or more output signals 556. The sensors 554 mayinclude temperature sensors, acceleration sensors, pressure sensors,rotational sensors, airflow sensors, etc. The output signals 556 maycontrol engine operating parameters, transmission operating parameters,suspension parameters, brake parameters, etc.

The power supply 548 provides power to the components of the vehicle546. The vehicle control system 547 may store data in memory 549 and/orthe storage device 550. Memory 549 may include random access memory(RAM) and/or nonvolatile memory. Nonvolatile memory may include anysuitable type of semiconductor or solid-state memory, such as flashmemory (including NAND and NOR flash memory), phase change memory,magnetic RAM, and multi-state memory, in which each memory cell has morethan two states. The storage device 550 may include an optical storagedrive, such as a DVD drive, and/or a hard disk drive (HDD). The vehiclecontrol system 547 may communicate externally using the networkinterface 552.

Referring now to FIG. 11E, the teachings of the disclosure can beimplemented in a phone control module 560 using memory 564 or a storagedevice 566 of a cellular phone 558. The memory 564 and/or the storagedevice 564 may store the above-described databases. The cellular phone558 includes the phone control module 560, a power supply 562, thememory 564, the storage device 566, and a cellular network interface567. The cellular phone 558 may include a network interface 568, amicrophone 570, an audio output 572 such as a speaker and/or outputjack, a display 574, and a user input device 576 such as a keypad and/orpointing device. If the network interface 568 includes a wireless localarea network interface, an antenna (not shown) may be included.

The phone control module 560 may receive input signals from the cellularnetwork interface 567, the network interface 568, the microphone 570,and/or the user input device 576. The phone control module 560 mayprocess signals, including encoding, decoding, filtering, and/orformatting, and generate output signals. The output signals may becommunicated to one or more of memory 564, the storage device 566, thecellular network interface 567, the network interface 568, and the audiooutput 572.

Memory 564 may include random access memory (RAM) and/or nonvolatilememory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory, in which each memory cell has more than two states.The storage device 566 may include an optical storage drive, such as aDVD drive, and/or a hard disk drive (HDD). The power supply 562 providespower to the components of the cellular phone 558.

Referring now to FIG. 11F, the teachings of the disclosure can beimplemented in a set top control module 580 using memory 583 or astorage device 584 of a set top box 578. The memory 583 and/or thestorage device 584 may store the above-described databases. The set topbox 578 includes the set top control module 580, a display 581, a powersupply 582, the memory 583, the storage device 584, and a networkinterface 585. If the network interface 585 includes a wireless localarea network interface, an antenna (not shown) may be included.

The set top control module 580 may receive input signals from thenetwork interface 585 and an external interface 587, which can send andreceive data via cable, broadband Internet, and/or satellite. The settop control module 580 may process signals, including encoding,decoding, filtering, and/or formatting, and generate output signals. Theoutput signals may include audio and/or video signals in standard and/orhigh definition formats. The output signals may be communicated to thenetwork interface 585 and/or to the display 581. The display 581 mayinclude a television, a projector, and/or a monitor.

The power supply 582 provides power to the components of the set top box578. Memory 583 may include random access memory (RAM) and/ornonvolatile memory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory, in which each memory cell has more than two states.The storage device 584 may include an optical storage drive, such as aDVD drive, and/or a hard disk drive (HDD).

Referring now to FIG. 11G, the teachings of the disclosure can beimplemented in a mobile device control module 590 using memory 592 or astorage device 593 of a mobile device 589. The memory 592 and/or thestorage device 593 may store the above-described databases. The mobiledevice 589 may include the mobile device control module 590, a powersupply 591, the memory 592, the storage device 593, a network interface594, and an external interface 599. If the network interface 594includes a wireless local area network interface, an antenna (not shown)may be included.

The mobile device control module 590 may receive input signals from thenetwork interface 594 and/or the external interface 599. The externalinterface 599 may include USB, infrared, and/or Ethernet. The inputsignals may include compressed audio and/or video, and may be compliantwith the MP3 format. Additionally, the mobile device control module 590may receive input from a user input 596 such as a keypad, touchpad, orindividual buttons. The mobile device control module 590 may processinput signals, including encoding, decoding, filtering, and/orformatting, and generate output signals.

The mobile device control module 590 may output audio signals to anaudio output 597 and video signals to a display 598. The audio output597 may include a speaker and/or an output jack. The display 598 maypresent a graphical user interface, which may include menus, icons, etc.The power supply 591 provides power to the components of the mobiledevice 589. Memory 592 may include random access memory (RAM) and/ornonvolatile memory.

Nonvolatile memory may include any suitable type of semiconductor orsolid-state memory, such as flash memory (including NAND and NOR flashmemory), phase change memory, magnetic RAM, and multi-state memory, inwhich each memory cell has more than two states. The storage device 593may include an optical storage drive, such as a DVD drive, and/or a harddisk drive (HDD). The mobile device may include a personal digitalassistant, a media player, a laptop computer, a gaming console, or othermobile computing device.

Those skilled in the art can now appreciate from the foregoingdescription that the broad teachings of the disclosure can beimplemented in a variety of forms. Therefore, while this disclosureincludes particular examples, the true scope of the disclosure shouldnot be so limited since other modifications will become apparent upon astudy of the drawings, the specification, and the following claims.

1. A local station comprising: memory that stores a first statusindicator that represents a number of active conversations in a wirelessnetwork and an ad-hoc traffic indication map (ATIM) window; and acontrol module that detects a change in said number of activeconversations, that modifies said first status indicator to generate anupdated first status indicator based on said change, and that adjusts alength of said ATIM window based on said updated first status indicator.2. The local station of claim 1 wherein said memory stores a secondstatus indicator that represents a number of stations in said wirelessnetwork that are in an active mode, and wherein said control moduleadjusts said length of said ATIM window based on said second statusindicator.
 3. The local station of claim 1 wherein said activeconversations are local, wherein said memory stores a second statusindicator that represents a number of remote active conversations ofother stations in said wireless network, and wherein said control moduleadjusts said length of said ATIM window based on said second statusindicator.
 4. The local station of claim 1 wherein said number of activeconversations is a total number of local active conversations in saidwireless network.
 5. The local station of claim 1 wherein said number ofactive conversations is a total number of active conversations in saidwireless network.
 6. The local station of claim 1 further comprising atransceiver that receives a second status indicator from a remotestation that represents another number of active conversations in saidwireless network, wherein said control module adjusts said length ofsaid ATIM window based on said second status indicator.
 7. The localstation of claim 6 wherein said control module transmits a probe requestvia said transceiver to said remote station, and wherein said remotestation transmits said second status indicator based on said proberequest.
 8. The local station of claim 1 wherein said control moduledetermines said length of said ATIM window based on a distributedcoordination function interframe space period.
 9. The local station ofclaim 1 wherein said control module determines said length of said ATIMwindow based on a backoff period.
 10. The local station of claim 1wherein said control module determines said length of said ATIM windowbased on at least one of a duration of an ATIM frame, a short interframespace period, and an acknowledgement period.
 11. The local station ofclaim 1 further comprising a transceiver, wherein said control moduletransmits at least one of said first status indicator and said length ofsaid ATIM window to another station in said wireless network.
 12. Thelocal station of claim 1 further comprising a transceiver, wherein saidcontrol module transmits via said transceiver a beacon that includes atleast one of said first status indicator and said length of said ATIMwindow.
 13. The local station of claim 1 further comprising atransceiver, wherein said control module transmits an ATIM frame basedon said length of said ATIM window.
 14. The local station of claim 1wherein said control module determines a backoff period based on saidchange in said number of active conversations, and wherein said controlmodule transmits an ATIM frame based on said backoff period.
 15. Thelocal station of claim 14 wherein said control module alters a randomnumber maximum for said backoff period based on said change in saidnumber of active conversations, and wherein said control moduledetermines said backoff period based on said random number maximum. 16.The local station of claim 14 wherein said control module maintains alist of active conversation in said wireless network, and wherein saidcontrol module adjusts said length based on said list.
 17. The localstation of claim 1 further comprising a transceiver, wherein saidcontrol module monitors conversations in said wireless network via saidtransceiver, and wherein said control module detects said change in saidnumber of active conversation based on at least one of beacons and proberesponses in said wireless network.
 18. The local station of claim 17wherein said at least one of beacons and probe responses have the samecorresponding service set identifier.
 19. A wireless network comprisingthe local station of claim 1 and further comprising a remote station,wherein said local station transmits at least one of said first statusindicator and said length to said remote station.
 20. The wirelessnetwork of claim 19 wherein said remote station updates another ATIMwindow based on at least one of said first status indicator and saidlength.
 21. A wireless network comprising the local station of claim 1and further comprising a remote station, wherein said local stationreceives a second status indicator from said remote station thatrepresents another number of active conversations in said wirelessnetwork, and wherein said control module adjusts said length based onsaid second status indicator.
 22. A wireless network comprising thelocal station of claim 1 and further comprising a remote station,wherein said local station and said remote station maintain lists ofactive conversations in said wireless network, and wherein said localstation and said remote station adjust respective ATIM windows based onsaid lists.
 23. A wireless network comprising the local station of claim1 and further comprising a remote station, wherein said local stationand said remote station update respective ATIM windows based on activeconversations in said wireless network.
 24. The wireless network ofclaim 23 wherein said local station and said remote station transmitATIM frames based on said respective ATIM windows and a received beacon.25. The wireless network of claim 23 wherein said local station and saidremote station transmit data based on said ATIM frames and a beaconinterval.
 26. A method of operating a local station comprising: storinga first status indicator that represents a number of activeconversations in a wireless network and an ad-hoc traffic indication map(ATIM) window; detecting a change in said number of activeconversations; modifying said first status indicator to generate anupdated first status indicator based on said change; and adjusting alength of said ATIM window based on said updated first status indicator.27. The method of claim 26 further comprising: storing a second statusindicator that represents a number of stations in said wireless networkthat are in an active mode; and adjusting said length of said ATIMwindow based on said second status indicator.
 28. The method of claim 26further comprising: storing a second status indicator that represents anumber of remote active conversations of other stations in said wirelessnetwork; and adjusting said length of said ATIM window based on saidsecond status indicator, wherein said active conversations are local.29. The method of claim 26 wherein said number of active conversationsis a total number of local active conversations in said wirelessnetwork.
 30. The method of claim 26 wherein said number of activeconversations is a total number of active conversations in said wirelessnetwork.
 31. The method of claim 26 further comprising: receiving asecond status indicator from a remote station that represents anothernumber of active conversations in said wireless network; and adjustingsaid length of said ATIM window based on said second status indicator.32. The method of claim 31 further comprising: transmitting a proberequest via a transceiver to said remote station; and transmitting saidsecond status indicator based on said probe request.
 33. The method ofclaim 26 further comprising determining said length of said ATIM windowbased on a distributed coordination function interframe space period.34. The method of claim 26 further comprising determining said length ofsaid ATIM window based on a backoff period.
 35. The method of claim 26further comprising determining said length of said ATIM window based onat least one of a duration of an ATIM frame, a short interframe spaceperiod, and an acknowledgement period.
 36. The method of claim 26further comprising transmitting at least one of said first statusindicator and said length of said ATIM window to another station in saidwireless network.
 37. The method of claim 26 further comprisingtransmitting via a transceiver a beacon that includes at least one ofsaid first status indicator and said length of said ATIM window.
 38. Themethod of claim 26 further comprising transmitting an ATIM frame basedon said length of said ATIM window.
 39. The method of claim 26 furthercomprising: determining a backoff period based on said change in saidnumber of active conversations; and transmitting an ATIM frame based onsaid backoff period.
 40. The method of claim 39 further comprising:altering a random number maximum for said backoff period based on saidchange in said number of active conversations; and determining saidbackoff period based on said random number maximum.
 41. The method ofclaim 39 further comprising: maintaining a list of active conversationin said wireless network; and adjusting said length based on said list.42. The method of claim 26 further comprising: monitoring conversationsin said wireless network via a transceiver; and detecting said change insaid number of active conversation based on at least one of beacons andprobe responses in said wireless network.
 43. The method of claim 42wherein said at least one of beacons and probe responses have the samecorresponding service set identifier.
 44. The method of claim 26 furthercomprising transmitting at least one of said first status indicator andsaid length to a remote station.
 45. The method of claim 44 wherein saidremote station updates another ATIM window based on at least one of saidfirst status indicator and said length.
 46. The method of claim 26further comprising: receiving a second status indicator from a remotestation that represents another number of active conversations in saidwireless network; and adjusting said length based on said second statusindicator.
 47. The method of claim 26 further comprising: maintaininglists of active conversations in said wireless network; and adjustingrespective ATIM windows based on said lists.
 48. The method of claim 26further comprising updating respective ATIM windows based on activeconversations in said wireless network.
 49. The method of claim 48further comprising transmitting ATIM frames based on said respectiveATIM windows and a received beacon.
 50. The method of claim 48 furthercomprising transmitting data based on said ATIM frames and a beaconinterval.